home *** CD-ROM | disk | FTP | other *** search
- package views
- {
- import events.NavigationEvent;
- import flash.accessibility.*;
- import flash.debugger.*;
- import flash.display.*;
- import flash.errors.*;
- import flash.events.*;
- import flash.external.*;
- import flash.filters.*;
- import flash.geom.*;
- import flash.media.*;
- import flash.net.*;
- import flash.printing.*;
- import flash.profiler.*;
- import flash.system.*;
- import flash.text.*;
- import flash.ui.*;
- import flash.utils.*;
- import flash.xml.*;
- import model.PresentationModel;
- import mx.binding.*;
- import mx.collections.ArrayCollection;
- import mx.containers.Canvas;
- import mx.controls.Alert;
- import mx.core.UIComponentDescriptor;
- import mx.core.mx_internal;
- import mx.events.FlexEvent;
- import mx.events.PropertyChangeEvent;
- import mx.rpc.events.FaultEvent;
- import mx.rpc.events.ResultEvent;
- import mx.rpc.http.mxml.HTTPService;
- import mx.styles.*;
-
- public class Presentation extends Canvas
- {
- private static var _watcherSetupUtil:IWatcherSetupUtil;
-
- private var _bindings:Array;
-
- [Bindable]
- private var _1850815144splashString:String = "1957";
-
- public var _bindingsByDestination:Object;
-
- [Bindable]
- private var _385513595dataRequest:HTTPService;
-
- [Bindable]
- private var _3079651demo:Demo;
-
- public var _bindingsBeginWithWord:Object;
-
- [Bindable]
- private var _623572788splashImage:String = "bg-image.jpg";
-
- [Bindable]
- private var _705504356myPrintJob:MyPrintJob;
-
- [Bindable]
- private var _1399041528_BottomNav1:BottomNav;
-
- [Bindable]
- private var _1857328081presentationModel:PresentationModel;
-
- private var nextIssueSelect:int;
-
- [Bindable]
- private var _951530617content:Content;
-
- private var nextYearSelect:int;
-
- private var _watchers:Array;
-
- private var nextPageSelect:int;
-
- private var _documentDescriptor_:UIComponentDescriptor;
-
- [Bindable]
- private var _3141bg:SplashImage;
-
- public function Presentation()
- {
- _documentDescriptor_ = new UIComponentDescriptor({
- "type":Canvas,
- "propertiesFactory":function():Object
- {
- return {"childDescriptors":[new UIComponentDescriptor({
- "type":MyPrintJob,
- "id":"myPrintJob",
- "propertiesFactory":function():Object
- {
- return {"x":1280};
- }
- }),new UIComponentDescriptor({
- "type":SplashImage,
- "id":"bg",
- "propertiesFactory":function():Object
- {
- return {"visible":false};
- }
- }),new UIComponentDescriptor({
- "type":TopNav,
- "events":{
- "browseByCover":"___TopNav1_browseByCover",
- "searchTab":"___TopNav1_searchTab",
- "demo":"___TopNav1_demo"
- },
- "stylesFactory":function():void
- {
- this.top = 0;
- }
- }),new UIComponentDescriptor({
- "type":Content,
- "id":"content",
- "events":{
- "yearSelect":"__content_yearSelect",
- "issueSelect":"__content_issueSelect",
- "selectPage":"__content_selectPage",
- "showSearchResult":"__content_showSearchResult"
- },
- "propertiesFactory":function():Object
- {
- return {"y":45};
- }
- }),new UIComponentDescriptor({
- "type":BottomNav,
- "id":"_BottomNav1",
- "events":{
- "spreadsTab":"___BottomNav1_spreadsTab",
- "print":"___BottomNav1_print",
- "readMode":"___BottomNav1_readMode",
- "spreadMode":"___BottomNav1_spreadMode",
- "startPage":"___BottomNav1_startPage",
- "nextPage":"___BottomNav1_nextPage",
- "prevPage":"___BottomNav1_prevPage",
- "endPage":"___BottomNav1_endPage",
- "selectPage":"___BottomNav1_selectPage"
- },
- "stylesFactory":function():void
- {
- this.bottom = 0;
- }
- }),new UIComponentDescriptor({
- "type":Demo,
- "id":"demo",
- "events":{"demoExit":"__demo_demoExit"},
- "propertiesFactory":function():Object
- {
- return {"visible":false};
- }
- })]};
- }
- });
- _623572788splashImage = "bg-image.jpg";
- _1850815144splashString = "1957";
- super();
- mx_internal::_document = this;
- if(!this.styleDeclaration)
- {
- this.styleDeclaration = new CSSStyleDeclaration();
- }
- this.styleDeclaration.defaultFactory = function():void
- {
- this.backgroundColor = 6381920;
- };
- this.percentWidth = 100;
- this.percentHeight = 100;
- this.horizontalScrollPolicy = "off";
- this.verticalScrollPolicy = "off";
- _HTTPService1_i();
- this.addEventListener("creationComplete",___Canvas1_creationComplete);
- }
-
- public static function set watcherSetupUtil(param1:IWatcherSetupUtil) : void
- {
- Presentation._watcherSetupUtil = param1;
- }
-
- private function startPageHandler(param1:Event) : void
- {
- trace("startPageHandler");
- this.pageSelect(0);
- content.hideTabs();
- }
-
- private function message(param1:String) : void
- {
- Alert.show(param1,"Hint");
- }
-
- public function set _BottomNav1(param1:BottomNav) : void
- {
- var _loc2_:Object = null;
- _loc2_ = this._1399041528_BottomNav1;
- if(_loc2_ !== param1)
- {
- this._1399041528_BottomNav1 = param1;
- dispatchEvent(PropertyChangeEvent.createUpdateEvent(this,"_BottomNav1",_loc2_,param1));
- }
- }
-
- private function printHandler(param1:Event) : void
- {
- trace("printHandler");
- if(0 == presentationModel.currentPage || presentationModel.numPages - 1 == presentationModel.currentPage)
- {
- myPrintJob.twoPages = false;
- }
- else
- {
- myPrintJob.twoPages = true;
- }
- myPrintJob.printPages();
- }
-
- private function dataHandler(param1:ResultEvent) : void
- {
- var _loc2_:* = undefined;
- trace("dataHandler " + param1.result);
- _loc2_ = param1.result.years.year;
- if(false == _loc2_ instanceof ArrayCollection)
- {
- presentationModel.years = new ArrayCollection(new Array(_loc2_));
- }
- else
- {
- presentationModel.years = _loc2_;
- }
- if(Boolean(param1.result.splashimage) && Boolean(param1.result.splashimage.value))
- {
- splashImage = param1.result.splashimage.value as String;
- }
- if(Boolean(param1.result.splashstring) && Boolean(param1.result.splashstring.value))
- {
- splashString = param1.result.splashstring.value.toString();
- }
- yearSelect(0);
- bg.visible = true;
- }
-
- private function pageSelect(param1:int) : void
- {
- var _loc2_:PresentationModel = null;
- if(0 > param1 || presentationModel.numPages <= param1)
- {
- trace("invalid page selection " + param1 + " num pages " + presentationModel.numPages);
- return;
- }
- if(-1 == presentationModel.numPages)
- {
- trace("-1 == numPages");
- message("Use \'Browse By Cover\' to choose a magazine.");
- return;
- }
- _loc2_ = presentationModel.clone();
- _loc2_.currentPage = param1;
- _loc2_.pageString = getPageNumber(param1);
- _loc2_.imageURL = _loc2_.yearString + "/" + _loc2_.filePrefix + "-" + _loc2_.pageString + ".jpg";
- presentationModel = _loc2_;
- trace("pageSelect " + presentationModel.imageURL);
- content.showSomething();
- }
-
- private function pageSelectHandler(param1:NavigationEvent) : void
- {
- pageSelect(param1.eventData as int);
- }
-
- [Bindable(event="propertyChange")]
- public function get bg() : SplashImage
- {
- return this._3141bg;
- }
-
- private function yearFromString(param1:String) : int
- {
- var _loc2_:Number = NaN;
- var _loc3_:String = null;
- trace("yearFromString " + param1);
- if(null == presentationModel.years)
- {
- return -1;
- }
- _loc2_ = 0;
- while(_loc2_ < presentationModel.years.length)
- {
- _loc3_ = presentationModel.years.getItemAt(_loc2_).value;
- if(param1 == _loc3_)
- {
- return _loc2_;
- }
- _loc2_++;
- }
- return -1;
- }
-
- public function __content_issueSelect(param1:NavigationEvent) : void
- {
- issueSelectHandler(param1);
- }
-
- public function ___TopNav1_demo(param1:NavigationEvent) : void
- {
- demoHandler(param1);
- }
-
- public function __demo_demoExit(param1:NavigationEvent) : void
- {
- demoExitHandler(param1);
- }
-
- private function set presentationModel(param1:PresentationModel) : void
- {
- var _loc2_:Object = null;
- _loc2_ = this._1857328081presentationModel;
- if(_loc2_ !== param1)
- {
- this._1857328081presentationModel = param1;
- dispatchEvent(PropertyChangeEvent.createUpdateEvent(this,"presentationModel",_loc2_,param1));
- }
- }
-
- [Bindable(event="propertyChange")]
- private function get presentationModel() : PresentationModel
- {
- return this._1857328081presentationModel;
- }
-
- public function set bg(param1:SplashImage) : void
- {
- var _loc2_:Object = null;
- _loc2_ = this._3141bg;
- if(_loc2_ !== param1)
- {
- this._3141bg = param1;
- dispatchEvent(PropertyChangeEvent.createUpdateEvent(this,"bg",_loc2_,param1));
- }
- }
-
- public function ___BottomNav1_startPage(param1:NavigationEvent) : void
- {
- startPageHandler(param1);
- }
-
- private function nextPageHandler(param1:Event) : void
- {
- var _loc2_:int = 0;
- trace("nextPageHandler");
- _loc2_ = presentationModel.currentPage + 1;
- if(presentationModel.numPages > _loc2_)
- {
- pageSelect(_loc2_);
- content.hideTabs();
- }
- }
-
- private function spreadModeHandler(param1:Event) : void
- {
- trace("spreadModeHandler");
- content.spreadMode();
- }
-
- [Bindable(event="propertyChange")]
- public function get content() : Content
- {
- return this._951530617content;
- }
-
- public function __dataRequest_fault(param1:FaultEvent) : void
- {
- faultHandler(param1);
- }
-
- private function init() : void
- {
- presentationModel = new PresentationModel();
- dataRequest.send();
- }
-
- public function __content_selectPage(param1:NavigationEvent) : void
- {
- selectPageHandler(param1);
- }
-
- private function readModeHandler(param1:Event) : void
- {
- trace("readModeHandler");
- content.readMode();
- }
-
- public function set content(param1:Content) : void
- {
- var _loc2_:Object = null;
- _loc2_ = this._951530617content;
- if(_loc2_ !== param1)
- {
- this._951530617content = param1;
- dispatchEvent(PropertyChangeEvent.createUpdateEvent(this,"content",_loc2_,param1));
- }
- }
-
- [Bindable(event="propertyChange")]
- private function get splashString() : String
- {
- return this._1850815144splashString;
- }
-
- private function yearSelectHandler(param1:NavigationEvent) : void
- {
- trace("yearSelectHandler " + param1.eventData.index);
- this.nextYearSelect = param1.eventData.index as int;
- yearSelect(this.nextYearSelect);
- }
-
- private function prevPageHandler(param1:Event) : void
- {
- var _loc2_:int = 0;
- trace("prevPageHandler");
- _loc2_ = presentationModel.currentPage - 1;
- if(0 <= _loc2_)
- {
- pageSelect(_loc2_);
- content.hideTabs();
- }
- }
-
- private function selectSpread(param1:int, param2:int, param3:int) : void
- {
- var _loc4_:PresentationModel = null;
- var _loc5_:Object = null;
- var _loc6_:Object = null;
- var _loc7_:RegExp = null;
- var _loc8_:Object = null;
- trace("selectSpread with " + param1 + ", " + param2 + ", " + param3);
- if(0 > param1 || presentationModel.years.length <= param1)
- {
- trace("error invalid year selected " + param1);
- return;
- }
- _loc4_ = presentationModel.clone();
- _loc4_.currentYear = param1;
- _loc5_ = presentationModel.years.getItemAt(param1);
- _loc4_.issues = _loc5_.issue;
- _loc4_.yearString = _loc5_.value;
- trace("selectSpread year is " + _loc5_.value);
- if(0 > param2 || _loc4_.issues.length <= param2)
- {
- trace("invalid issue selection " + param2);
- return;
- }
- _loc4_.currentIssue = param2;
- _loc6_ = _loc4_.issues.getItemAt(_loc4_.currentIssue);
- _loc4_.filePrefix = _loc6_.file;
- _loc4_.numPages = _loc6_.pages;
- _loc4_.twoPageBack = true == _loc6_.twoPageBack ? true : false;
- _loc7_ = /([0-9]+)\s([A-Za-z]+)\s([0-9]+)/ig;
- _loc8_ = _loc7_.exec(_loc6_.file);
- _loc4_.monthString = _loc8_[2];
- trace("issue Selected issue is " + _loc4_.currentIssue + " month " + _loc4_.monthString);
- if(0 > param3 || _loc4_.numPages <= param3)
- {
- trace("invalid page selection " + param3 + " available " + _loc4_.numPages);
- return;
- }
- if(-1 == _loc4_.numPages)
- {
- trace("-1 == numPages");
- message("Use \'Browse By Cover\' to choose a magazine.");
- return;
- }
- _loc4_.currentPage = param3;
- _loc4_.pageString = getPageNumber(param3);
- _loc4_.imageURL = _loc4_.yearString + "/" + _loc4_.filePrefix + "-" + _loc4_.pageString + ".jpg";
- trace("selectSpread finished: " + _loc4_.currentPage + " image " + _loc4_.imageURL);
- presentationModel = _loc4_;
- bg.visible = false;
- content.showSomething();
- }
-
- private function showSearchResultHandler(param1:NavigationEvent) : void
- {
- var _loc2_:Object = null;
- _loc2_ = param1.eventData;
- selectSpread(yearFromString(_loc2_.year),issueFromString(_loc2_.month),_loc2_.page);
- bg.visible = false;
- content.showSomething();
- }
-
- public function ___BottomNav1_prevPage(param1:NavigationEvent) : void
- {
- prevPageHandler(param1);
- }
-
- private function searchTabHandler(param1:Event) : void
- {
- content.searchTabToggle();
- }
-
- private function _HTTPService1_i() : HTTPService
- {
- var _loc1_:HTTPService = null;
- _loc1_ = new HTTPService();
- dataRequest = _loc1_;
- _loc1_.url = "data/contents.xml";
- _loc1_.addEventListener("result",__dataRequest_result);
- _loc1_.addEventListener("fault",__dataRequest_fault);
- _loc1_.initialized(this,"dataRequest");
- return _loc1_;
- }
-
- [Bindable(event="propertyChange")]
- public function get demo() : Demo
- {
- return this._3079651demo;
- }
-
- public function __dataRequest_result(param1:ResultEvent) : void
- {
- dataHandler(param1);
- }
-
- private function endPageHandler(param1:Event) : void
- {
- trace("endPageHandler");
- this.pageSelect(presentationModel.numPages - 1);
- content.hideTabs();
- }
-
- [Bindable(event="propertyChange")]
- public function get _BottomNav1() : BottomNav
- {
- return this._1399041528_BottomNav1;
- }
-
- public function ___BottomNav1_print(param1:NavigationEvent) : void
- {
- printHandler(param1);
- }
-
- public function ___BottomNav1_selectPage(param1:NavigationEvent) : void
- {
- bottomNavSelectPageHandler(param1);
- }
-
- public function ___BottomNav1_spreadMode(param1:NavigationEvent) : void
- {
- spreadModeHandler(param1);
- }
-
- private function issueFromString(param1:String) : int
- {
- var _loc2_:Number = NaN;
- var _loc3_:String = null;
- var _loc4_:RegExp = null;
- var _loc5_:String = null;
- if(null == presentationModel.issues)
- {
- return -1;
- }
- trace("issueFromString " + param1);
- _loc2_ = 0;
- while(_loc2_ < presentationModel.issues.length)
- {
- _loc3_ = presentationModel.issues.getItemAt(_loc2_).file;
- _loc4_ = /([0-9]+)\s([A-Za-z]+)\s([0-9]+)/ig;
- _loc5_ = _loc3_.replace(_loc4_,"$2");
- trace("month " + _loc5_);
- if(param1 == _loc5_)
- {
- return _loc2_;
- }
- _loc2_++;
- }
- return -1;
- }
-
- private function issueSelectHandler(param1:NavigationEvent) : void
- {
- trace("issueSelectHandler " + param1.eventData.index);
- selectSpread(nextYearSelect,param1.eventData.index as int,0);
- }
-
- private function demoExitHandler(param1:Event) : void
- {
- demo.visible = false;
- }
-
- public function ___BottomNav1_nextPage(param1:NavigationEvent) : void
- {
- nextPageHandler(param1);
- }
-
- public function __content_showSearchResult(param1:NavigationEvent) : void
- {
- showSearchResultHandler(param1);
- }
-
- public function ___Canvas1_creationComplete(param1:FlexEvent) : void
- {
- init();
- }
-
- public function ___BottomNav1_spreadsTab(param1:NavigationEvent) : void
- {
- spreadsTabHandler(param1);
- }
-
- private function getPageNumber(param1:int) : String
- {
- var _loc2_:String = null;
- _loc2_ = param1.toString();
- if(10 > param1)
- {
- _loc2_ = "0" + _loc2_;
- }
- if(100 > param1)
- {
- _loc2_ = "0" + _loc2_;
- }
- return _loc2_;
- }
-
- public function ___BottomNav1_readMode(param1:NavigationEvent) : void
- {
- readModeHandler(param1);
- }
-
- private function browseByCoverHandler(param1:NavigationEvent) : void
- {
- trace("browseByCoverHandler " + param1.eventData);
- content.browseByCoverToggle();
- }
-
- private function faultHandler(param1:FaultEvent) : void
- {
- var _loc2_:String = null;
- _loc2_ = "There was a problem loading the contents file \'data/contents.xml\'";
- _loc2_ += "\n" + param1.message;
- Alert.show(_loc2_,"Error");
- }
-
- private function set splashImage(param1:String) : void
- {
- var _loc2_:Object = null;
- _loc2_ = this._623572788splashImage;
- if(_loc2_ !== param1)
- {
- this._623572788splashImage = param1;
- dispatchEvent(PropertyChangeEvent.createUpdateEvent(this,"splashImage",_loc2_,param1));
- }
- }
-
- private function set splashString(param1:String) : void
- {
- var _loc2_:Object = null;
- _loc2_ = this._1850815144splashString;
- if(_loc2_ !== param1)
- {
- this._1850815144splashString = param1;
- dispatchEvent(PropertyChangeEvent.createUpdateEvent(this,"splashString",_loc2_,param1));
- }
- }
-
- public function ___BottomNav1_endPage(param1:NavigationEvent) : void
- {
- endPageHandler(param1);
- }
-
- private function bottomNavSelectPageHandler(param1:NavigationEvent) : void
- {
- selectPageHandler(param1);
- content.hideTabs();
- }
-
- public function __content_yearSelect(param1:NavigationEvent) : void
- {
- yearSelectHandler(param1);
- }
-
- private function selectPageHandler(param1:NavigationEvent) : void
- {
- trace("selectPageHandler " + param1.currentTarget);
- pageSelect(param1.eventData as int);
- }
-
- [Bindable(event="propertyChange")]
- private function get splashImage() : String
- {
- return this._623572788splashImage;
- }
-
- public function set dataRequest(param1:HTTPService) : void
- {
- var _loc2_:Object = null;
- _loc2_ = this._385513595dataRequest;
- if(_loc2_ !== param1)
- {
- this._385513595dataRequest = param1;
- dispatchEvent(PropertyChangeEvent.createUpdateEvent(this,"dataRequest",_loc2_,param1));
- }
- }
-
- public function set myPrintJob(param1:MyPrintJob) : void
- {
- var _loc2_:Object = null;
- _loc2_ = this._705504356myPrintJob;
- if(_loc2_ !== param1)
- {
- this._705504356myPrintJob = param1;
- dispatchEvent(PropertyChangeEvent.createUpdateEvent(this,"myPrintJob",_loc2_,param1));
- }
- }
-
- private function _Presentation_bindingExprs() : void
- {
- var _loc1_:* = undefined;
- _loc1_ = presentationModel.imageURL;
- _loc1_ = splashImage;
- _loc1_ = splashString;
- _loc1_ = presentationModel;
- _loc1_ = presentationModel;
- }
-
- public function ___TopNav1_searchTab(param1:NavigationEvent) : void
- {
- searchTabHandler(param1);
- }
-
- [Bindable(event="propertyChange")]
- public function get dataRequest() : HTTPService
- {
- return this._385513595dataRequest;
- }
-
- override public function initialize() : void
- {
- var target:Presentation = null;
- var watcherSetupUtilClass:Object = null;
- mx_internal::setDocumentDescriptor(_documentDescriptor_);
- _Presentation_bindingsSetup();
- target = this;
- if(_watcherSetupUtil == null)
- {
- watcherSetupUtilClass = getDefinitionByName("_views_PresentationWatcherSetupUtil");
- watcherSetupUtilClass["init"](null);
- }
- _watcherSetupUtil.setup(this,function(param1:String):*
- {
- return target[param1];
- },_bindings,_watchers);
- super.initialize();
- }
-
- private function yearSelect(param1:int) : void
- {
- var _loc2_:PresentationModel = null;
- var _loc3_:Object = null;
- if(0 > param1 || presentationModel.years.length <= param1)
- {
- trace("error invalid year selected " + param1);
- return;
- }
- _loc2_ = presentationModel.clone();
- _loc2_.currentYear = param1;
- _loc3_ = presentationModel.years.getItemAt(param1);
- _loc2_.issues = _loc3_.issue;
- _loc2_.yearString = _loc3_.value;
- trace("yearSelect year is " + _loc3_.value);
- presentationModel = _loc2_;
- }
-
- private function spreadsTabHandler(param1:Event) : void
- {
- content.spreadsTabToggle();
- }
-
- public function ___TopNav1_browseByCover(param1:NavigationEvent) : void
- {
- browseByCoverHandler(param1);
- }
-
- [Bindable(event="propertyChange")]
- public function get myPrintJob() : MyPrintJob
- {
- return this._705504356myPrintJob;
- }
-
- private function demoHandler(param1:Event) : void
- {
- trace("demoHandler");
- demo.visible = true;
- demo.playMovie();
- }
-
- public function set demo(param1:Demo) : void
- {
- var _loc2_:Object = null;
- _loc2_ = this._3079651demo;
- if(_loc2_ !== param1)
- {
- this._3079651demo = param1;
- dispatchEvent(PropertyChangeEvent.createUpdateEvent(this,"demo",_loc2_,param1));
- }
- }
-
- private function _Presentation_bindingsSetup() : void
- {
- var binding:Binding = null;
- if(!_bindings)
- {
- _bindings = [];
- }
- if(!_watchers)
- {
- _watchers = [];
- }
- binding = new Binding(this,function():String
- {
- var _loc1_:* = undefined;
- var _loc2_:* = undefined;
- _loc1_ = presentationModel.imageURL;
- return _loc1_ == undefined ? null : String(_loc1_);
- },function(param1:String):void
- {
- myPrintJob.imageURL = param1;
- },"myPrintJob.imageURL");
- _bindings[0] = binding;
- binding = new Binding(this,function():String
- {
- var _loc1_:* = undefined;
- var _loc2_:* = undefined;
- _loc1_ = splashImage;
- return _loc1_ == undefined ? null : String(_loc1_);
- },function(param1:String):void
- {
- bg.bgImage = param1;
- },"bg.bgImage");
- _bindings[1] = binding;
- binding = new Binding(this,function():String
- {
- var _loc1_:* = undefined;
- var _loc2_:* = undefined;
- _loc1_ = splashString;
- return _loc1_ == undefined ? null : String(_loc1_);
- },function(param1:String):void
- {
- bg.splashString = param1;
- },"bg.splashString");
- _bindings[2] = binding;
- binding = new Binding(this,function():PresentationModel
- {
- return presentationModel;
- },function(param1:PresentationModel):void
- {
- content.presentationModel = param1;
- },"content.presentationModel");
- _bindings[3] = binding;
- binding = new Binding(this,function():PresentationModel
- {
- return presentationModel;
- },function(param1:PresentationModel):void
- {
- _BottomNav1.presentationModel = param1;
- },"_BottomNav1.presentationModel");
- _bindings[4] = binding;
- }
- }
- }
-
-